home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / modules / nessus-2.2.8.mo / usr / lib / nessus / plugins / CSCdv48261.nasl < prev    next >
Text File  |  2005-01-14  |  8KB  |  280 lines

  1. #
  2. # This script was written by Renaud Deraison <deraison@cvs.nessus.org>
  3. #
  4. # See the Nessus Script License for details
  5. #
  6. # Script audit and contributions from Carmichael Security <http://www.carmichaelsecurity.com>
  7. #      Erik Anderson <eanders@carmichaelsecurity.com>
  8. #      Added link to the Bugtraq message archive
  9. #
  10.  
  11.  
  12. if(description)
  13. {
  14.  script_id(10985);
  15.  script_version("$Revision: 1.6 $");
  16.  script_cve_id("CVE-2001-0929");
  17.  
  18.  name["english"] = "CSCdv48261";
  19.  
  20.  script_name(english:name["english"]);
  21.  
  22.  desc["english"] = "
  23. The IOS Firewall Feature set, also known as Cisco Secure Integrated
  24. Software, also known as Context Based Access Control (CBAC), and
  25. introduced in IOS version 11.2P, has a vulnerability that permits
  26. traffic normally expected to be denied by the dynamic access control 
  27. lists.
  28.  
  29. An attacker may use this flaw to break into your network even though
  30. it was explicitly denied
  31.  
  32. This vulnerability is documented as Cisco Bug ID CSCdv48261.
  33.  
  34. Solution : 
  35. http://www.cisco.com/warp/public/707/IOS-cbac-dynacl-pub.shtml
  36.  
  37. Reference : http://online.securityfocus.com/archive/1/242844
  38.  
  39. Risk factor : Critical
  40.  
  41. *** As Nessus solely relied on the banner of the remote host
  42. *** this might be a false positive
  43. ";
  44.  script_description(english:desc["english"]);
  45.  
  46.  summary["english"] = "Uses SNMP to determine if a flaw is present";
  47.  script_summary(english:summary["english"]);
  48.  
  49.  script_category(ACT_GATHER_INFO);
  50.  
  51.  script_copyright(english:"This script is (C) 2002 Renaud Deraison");
  52.  
  53.  script_family(english:"CISCO");
  54.  
  55.  script_dependencie("snmp_sysDesc.nasl",
  56.              "snmp_cisco_type.nasl");
  57.  script_require_keys("SNMP/community",
  58.               "SNMP/sysDesc",
  59.               "CISCO/model");
  60.  exit(0);
  61. }
  62.  
  63.  
  64. # The code starts here
  65. ok=0;
  66. os = get_kb_item("SNMP/sysDesc"); if(!os)exit(0);
  67. hardware = get_kb_item("CISCO/model"); if(!hardware)exit(0);
  68.  
  69.  
  70. # Check that we have CBAC abilities...
  71. if(!egrep(pattern:".*Software (.*-.*O.*-.*).*", string:os))exit(0);
  72.  
  73.  
  74. # Check for the required hardware...
  75. #----------------------------------------------------------------
  76. # cisco800
  77. if(ereg(string:hardware, pattern:"^cisco80[0-9]$"))ok=1;
  78.  
  79. # cisco820
  80. if(ereg(string:hardware, pattern:"^cisco82[0-9]$"))ok=1;
  81.  
  82. # cisco950
  83. if(ereg(string:hardware, pattern:"^cisco95[0-9]$"))ok=1;
  84.  
  85. # cisco1400
  86. if(ereg(string:hardware, pattern:"^cisco14[0-9][0-9]$"))ok=1;
  87.  
  88. # cisco1600
  89. if(ereg(string:hardware, pattern:"^cisco16[0-9][0-9]$"))ok=1;
  90.  
  91. # cisco2500
  92. if(ereg(string:hardware, pattern:"^cisco25[0-9][0-9]$"))ok=1;
  93.  
  94. # cisco2600
  95. if(ereg(string:hardware, pattern:"^cisco26[0-9][0-9]$"))ok=1;
  96.  
  97. # cisco3600
  98. if(ereg(string:hardware, pattern:"^cisco36[0-9][0-9]$"))ok=1;
  99.  
  100. # cisco4000
  101. if(ereg(string:hardware, pattern:"^cisco40[0-9][0-9]$"))ok=1;
  102.  
  103. # cisco4224
  104. if(ereg(string:hardware, pattern:"^cisco4224$"))ok=1;
  105.  
  106. # cisco7100
  107. if(ereg(string:hardware, pattern:"^cisco71[0-9][0-9]$"))ok=1;
  108.  
  109. # cisco7200
  110. if(ereg(string:hardware, pattern:"^cisco72[0-9][0-9]$"))ok=1;
  111.  
  112. # cisco7400
  113. if(ereg(string:hardware, pattern:"^cisco74[0-9][0-9]$"))ok=1;
  114.  
  115. # cisco7500
  116. if(ereg(string:hardware, pattern:"^cisco75[0-9][0-9]$"))ok=1;
  117.  
  118. # ciscoSOHO7[0-9]
  119. if(ereg(string:hardware, pattern:"^ciscoSOHO7[0-9]$"))ok=1;
  120.  
  121. # ciscoUBR90[0-9]
  122. if(ereg(string:hardware, pattern:"^ciscoUBR90[0-9]$"))ok=1;
  123.  
  124. # cisco7750
  125. if(ereg(string:hardware, pattern:"^cisco775[0-9]$"))ok=1;
  126.  
  127. # catalyst5k.*
  128. if(ereg(string:hardware, pattern:"^catalyst5k.*$"))ok=1;
  129.  
  130. # catalyst6k.*
  131. if(ereg(string:hardware, pattern:"^catalyst6k.*$"))ok=1;
  132.  
  133. if(!ok)exit(0);
  134. ok = 0;
  135.  
  136.  
  137. # Check for the required operating system...
  138. #----------------------------------------------------------------
  139. # Is this IOS ?
  140. if(!egrep(pattern:".*(Internetwork Operating|IOS).*", string:os))exit(0);
  141. # 11.2P
  142. if(egrep(string:os, pattern:"(11\.2\([0-9]*\)|11\.2)P[0-9]*,"))ok=1;
  143.  
  144. # 11.3T
  145. if(egrep(string:os, pattern:"(11\.3\([0-9]*\)|11\.3)T[0-9]*,"))ok=1;
  146.  
  147. # 12.0
  148. if(egrep(string:os, pattern:"(12\.0\(([0-9]|[1-1][0-9]|2[0-0])\)|12\.0),"))ok=1;
  149.  
  150. # 12.0T
  151. if(egrep(string:os, pattern:"(12\.0\([0-9]*\)|12\.0)T[0-9]*,"))ok=1;
  152.  
  153. # 12.0XA
  154. if(egrep(string:os, pattern:"(12\.0\([0-9]*\)|12\.0)XA[0-9]*,"))ok=1;
  155.  
  156. # 12.0XB
  157. if(egrep(string:os, pattern:"(12\.0\([0-9]*\)|12\.0)XB[0-9]*,"))ok=1;
  158.  
  159. # 12.0XC
  160. if(egrep(string:os, pattern:"(12\.0\([0-9]*\)|12\.0)XC[0-9]*,"))ok=1;
  161.  
  162. # 12.0XD
  163. if(egrep(string:os, pattern:"(12\.0\([0-9]*\)|12\.0)XD[0-9]*,"))ok=1;
  164.  
  165. # 12.0XE
  166. if(egrep(string:os, pattern:"(12\.0\([0-9]*\)|12\.0)XE[0-9]*,"))ok=1;
  167.  
  168. # 12.0XG
  169. if(egrep(string:os, pattern:"(12\.0\([0-9]*\)|12\.0)XG[0-9]*,"))ok=1;
  170.  
  171. # 12.0XI
  172. if(egrep(string:os, pattern:"(12\.0\([0-9]*\)|12\.0)XI[0-9]*,"))ok=1;
  173.  
  174. # 12.0XK
  175. if(egrep(string:os, pattern:"(12\.0\([0-9]*\)|12\.0)XK[0-9]*,"))ok=1;
  176.  
  177. # 12.0XM
  178. if(egrep(string:os, pattern:"(12\.0\([0-9]*\)|12\.0)XM[0-9]*,"))ok=1;
  179.  
  180. # 12.0XQ
  181. if(egrep(string:os, pattern:"(12\.0\([0-9]*\)|12\.0)XQ[0-9]*,"))ok=1;
  182.  
  183. # 12.0XR
  184. if(egrep(string:os, pattern:"(12\.0\([0-9]*\)|12\.0)XR[0-9]*,"))ok=1;
  185.  
  186. # 12.0XV
  187. if(egrep(string:os, pattern:"(12\.0\([0-9]*\)|12\.0)XV[0-9]*,"))ok=1;
  188.  
  189. # 12.1
  190. if(egrep(string:os, pattern:"(12\.1\(([0-9]|1[0-1])\)|12\.1),"))ok=1;
  191.  
  192. # 12.1E
  193. if(egrep(string:os, pattern:"(12\.1\([0-9]\)|12\.1)E[0-9]*,"))ok=1;
  194.  
  195. # 12.1T
  196. if(egrep(string:os, pattern:"(12\.1\([0-9]*\)|12\.1)T[0-9]*,"))ok=1;
  197.  
  198. # 12.1XB
  199. if(egrep(string:os, pattern:"(12\.1\([0-9]*\)|12\.1)XB[0-9]*,"))ok=1;
  200.  
  201. # 12.1XC
  202. if(egrep(string:os, pattern:"(12\.1\([0-9]*\)|12\.1)XC[0-9]*,"))ok=1;
  203.  
  204. # 12.1XF
  205. if(egrep(string:os, pattern:"(12\.1\([0-9]*\)|12\.1)XF[0-9]*,"))ok=1;
  206.  
  207. # 12.1XG
  208. if(egrep(string:os, pattern:"(12\.1\([0-9]*\)|12\.1)XG[0-9]*,"))ok=1;
  209.  
  210. # 12.1XH
  211. if(egrep(string:os, pattern:"(12\.1\([0-9]*\)|12\.1)XH[0-9]*,"))ok=1;
  212.  
  213. # 12.1XI
  214. if(egrep(string:os, pattern:"(12\.1\([0-9]*\)|12\.1)XI[0-9]*,"))ok=1;
  215.  
  216. # 12.1XJ
  217. if(egrep(string:os, pattern:"(12\.1\([0-9]*\)|12\.1)XJ[0-9]*,"))ok=1;
  218.  
  219. # 12.1XK
  220. if(egrep(string:os, pattern:"(12\.1\([0-9]*\)|12\.1)XK[0-9]*,"))ok=1;
  221.  
  222. # 12.1XL
  223. if(egrep(string:os, pattern:"(12\.1\([0-9]*\)|12\.1)XL[0-9]*,"))ok=1;
  224.  
  225. # 12.1XM
  226. if(egrep(string:os, pattern:"(12\.1\([0-9]*\)|12\.1)XM[0-9]*,"))ok=1;
  227.  
  228. # 12.1XP
  229. if(egrep(string:os, pattern:"(12\.1\([0-9]*\)|12\.1)XP[0-9]*,"))ok=1;
  230.  
  231. # 12.1XT
  232. if(egrep(string:os, pattern:"(12\.1\([0-9]*\)|12\.1)XT[0-9]*,"))ok=1;
  233.  
  234. # 12.1YB
  235. if(egrep(string:os, pattern:"((12\.1\([0-4]\)|12\.1)YB[0-9]*|12\.1\(5\)YB[0-4]),"))ok=1;
  236.  
  237. # 12.1YC
  238. if(egrep(string:os, pattern:"((12\.1\([0-4]\)|12\.1)YC[0-9]*|12\.1\(5\)YC[0-1]),"))ok=1;
  239.  
  240. # 12.1YE
  241. if(egrep(string:os, pattern:"((12\.1\([0-4]\)|12\.1)YE[0-9]*|12\.1\(5\)YE[0-3]),"))ok=1;
  242.  
  243. # 12.1YF
  244. if(egrep(string:os, pattern:"((12\.1\([0-4]\)|12\.1)YF[0-9]*|12\.1\(5\)YF[0-2]),"))ok=1;
  245.  
  246. # 12.2
  247. if(egrep(string:os, pattern:"(12\.2\([0-5]\)|12\.2),"))ok=1;
  248.  
  249. # 12.2DD
  250. if(egrep(string:os, pattern:"(12\.2\([0-9]*\)|12\.2)DD[0-9]*,"))ok=1;
  251.  
  252. # 12.2T
  253. if(egrep(string:os, pattern:"(12\.2\([0-7]\)|12\.2)T[0-9]*,"))ok=1;
  254.  
  255. # 12.2XD
  256. if(egrep(string:os, pattern:"((12\.2\([0-1]\)|12\.2)XD[0-9]*|12\.2\(2\)XD[0-2]),"))ok=1;
  257.  
  258. # 12.2XE
  259. if(egrep(string:os, pattern:"((12\.2\([0-0]\)|12\.2)XE[0-9]*|12\.2\(1\)XE[0-1]),"))ok=1;
  260.  
  261. # 12.2XH
  262. if(egrep(string:os, pattern:"((12\.2\([0-1]\)|12\.2)XH[0-9]*|12\.2\(2\)XH[0-1]),"))ok=1;
  263.  
  264. # 12.2XI
  265. if(egrep(string:os, pattern:"((12\.2\([0-1]\)|12\.2)XI[0-9]*|12\.2\(2\)XI[0-0]),"))ok=1;
  266.  
  267. # 12.2XJ
  268. if(egrep(string:os, pattern:"((12\.2\([0-1]\)|12\.2)XJ[0-9]*|12\.2\(2\)XJ[0-0]),"))ok=1;
  269.  
  270. # 12.2XK
  271. if(egrep(string:os, pattern:"((12\.2\([0-1]\)|12\.2)XK[0-9]*|12\.2\(2\)XK[0-4]),"))ok=1;
  272.  
  273. # 12.2XQ
  274. if(egrep(string:os, pattern:"((12\.2\([0-1]\)|12\.2)XQ[0-9]*|12\.2\(2\)XQ[0-1]),"))ok=1;
  275.  
  276.  
  277. #----------------------------------------------
  278.  
  279. if(ok)security_hole(port:161, proto:"udp");
  280.